This invention relates to electronic sound synthesis, and more particularly to a method and apparatus for generating musical sound waveforms of struck and plucked instruments and wind instruments.
Sounds that come from physical sources are naturally represented by differential equations in time. Since there is a straight-forward correspondence between differential equations in time and finite difference equations, it is possible to model musical instruments as simultaneous finite difference equations. Musical sounds can be produced by solving the difference equations that model instruments in real time, and converting the information from digital to analog form.
The computational bandwidth that is needed to compute musical sounds is enormous. For the sampled waveform representation of sound, it is necessary to produce samples at a rate of about 50K samples/sec. Assuming that there are about 100 computational operations per sample for each voice, five million operations are required per second per voice. Each operation involves a multiplication and an addition. A "voice" is the sound of one wind instrument horn or one instrument string. A midsize computer of today is capable of about only 250,000 arithmetic operations per second which means it is only capable of computing about 1/20 of a single voice, so it is hopeless to compute the sounds in real time with a midsize computer. Even today's most powerful computers are capable of computing only a small number of voices.
The idea of distributing computations for concurrent execution by a plurality of programmed digital computers does not hold much promise. These concurrent computing machines, sometimes called homogeneous machines, fail to support the generation of sound because they are built with a fixed interconnection between their processors. In order to map a problem like musical sound generation onto such machines, the processors must be programmed to provide the communication between various parts of the model. This results in the machine spending much of its time shuffling data.
People in the past have tried to avoid the enormous computation bandwidth of sound generation by using special musical techniques, such as frequency modulation, to generate evolving partials of various horn voices. While this approach and other similar ones can produce pleasing musical results, the player of the instrument is given control of parameters that do not necessarily have any direct physical interpretation and are just artifacts of the model. It would be desirable to supply a musician or composer with, for example, a string instrument with string whose mass, stiffness, length and tension can be varied dynamically, and a wind instrument whose corresponding parameters can be similarly varied. This capability is possible if a representation of the instrument is based on its physics.
An even larger problem with the prior art methods is that they produce models that require updating of internal parameters at a rate that is many times that which occurs in real musical instruments. The control, or update, of parameters has been an unmanageable problem.